import java.util.Arrays;
public class 课堂习题 {
    public static void main(String[] args) {
        //数组转字符串
//        int[] arr = {1, 2, 3, 4, 5};
//        String newArr = Arrays.toString(arr);
//        System.out.println(newArr);    //结果: [1, 2, 3, 4, 5]


        //数组拷贝
       // func();

        //求数组中元素的平均值
        //给定一个整型数组, 求平均值
//        int[] arr = {1, 2, 3, 4, 5,6};
//        System.out.println(avg(arr));  //结果: 3.5

    }
//    public static double avg(int[] arr) {
//        int sum = 0;
//        for (int x : arr) {   //for-each循环遍历数组
//            sum += x;
//        }
//
//        return (double) sum / arr.length;
//    }
//}

//    public static void func() {
//        //newArr和arr引用的是同一个数组
//        //因此newArr修改空间中内容之后,arr也可以看到修改的结果
//        int[] arr = {1, 2, 3, 4, 5, 6};
//        int[] newArr = arr;  //将arr 的地址赋值给newArr
//        newArr[0] = 10;  //修改newArr的第一个元素
//        System.out.println("newArr:" + Arrays.toString(arr));//结果为: [10, 2, 3, 4, 5, 6]
//
//
//        //使用Arrays中copyOf方法完成数组的拷贝:
//        //copyOf方法在进行数组拷贝时,创建了一个新的数组
//        //此时,arr和newArr引用的不是同一个数组
//        arr[0] = 1;
//        newArr = Arrays.copyOf(arr, arr.length);
//        System.out.println("newArr:" + Arrays.toString(newArr));//结果为: [1, 2, 3, 4, 5, 6]
//
//
//        //因为arr修改其引用数组中的内容时,对newArr没有任何影响
//        arr[0] = 10;
//        System.out.println("arr:" + Arrays.toString(arr));//结果为: [10, 2, 3, 4, 5, 6]
//        System.out.println("newArr:" + Arrays.toString(newArr));//结果为: [1, 2, 3, 4, 5, 6]
//
//
//        //拷贝某个范围
//        int[] newArr2 = Arrays.copyOfRange(arr, 1, 4);//前闭后开 ,即从索引1开始,到索引3结束
//        System.out.println("newArr2:" + Arrays.toString(newArr2));//结果为: [2, 3, 4]
//    }


